package com.ecoolex.discount.sales.pojo;

import com.ecoolex.framework.common.annotation.Description;
import org.springframework.lang.NonNull;

import java.math.BigDecimal;
import java.util.Date;

@Description({"添加产品"})
public class AddDiscountProductDTO {
    @Description({"品牌"})
    @NonNull
    private Integer brandId;
    @Description({"区域类型"})
    @NonNull
    private Integer regionType;
    @Description({"折扣类型"})
    @NonNull
    private Integer discountMode;
    @Description({"服务类型; "})
    @NonNull
    private Integer serviceType;
    @Description({"服务数据Id"})
    private String serviceDataId;
    @Description({"名称"})
    @NonNull
    private String name;
    @Description({"副标题"})
    private String subTitle;
    @Description({"图片"})
    private String image;
    @Description({"描述"})
    private String describe;
    @Description({"使用须知"})
    private String useInformation;
    @Description({"保质期策略;无;固定保质期; 动态保质期;"})
    @NonNull
    private Integer shelfLifeStrategy;
    @Description({"保质期描述"})
    private String shelfLifeDescribe;
    @Description({"固定结束保质期"})
    private Date fixedEndShelfLife;
    @Description({"动态保质期类型; 年; 月; 日; 小时;"})
    private Integer dynamicShelfLifeType;
    @Description({"动态保质期期时间"})
    private Integer dynamicShelfLifeValue;

    @NonNull
    public Integer getBrandId() {
        return brandId;
    }

    public AddDiscountProductDTO setBrandId(@NonNull Integer brandId) {
        this.brandId = brandId;
        return this;
    }

    @NonNull
    public Integer getRegionType() {
        return regionType;
    }

    public AddDiscountProductDTO setRegionType(@NonNull Integer regionType) {
        this.regionType = regionType;
        return this;
    }

    @NonNull
    public Integer getDiscountMode() {
        return discountMode;
    }

    public AddDiscountProductDTO setDiscountMode(@NonNull Integer discountMode) {
        this.discountMode = discountMode;
        return this;
    }

    @NonNull
    public Integer getServiceType() {
        return serviceType;
    }

    public AddDiscountProductDTO setServiceType(@NonNull Integer serviceType) {
        this.serviceType = serviceType;
        return this;
    }

    public String getServiceDataId() {
        return serviceDataId;
    }

    public AddDiscountProductDTO setServiceDataId(String serviceDataId) {
        this.serviceDataId = serviceDataId;
        return this;
    }

    @NonNull
    public String getName() {
        return name;
    }

    public AddDiscountProductDTO setName(@NonNull String name) {
        this.name = name;
        return this;
    }

    public String getSubTitle() {
        return subTitle;
    }

    public AddDiscountProductDTO setSubTitle(String subTitle) {
        this.subTitle = subTitle;
        return this;
    }

    public String getImage() {
        return image;
    }

    public AddDiscountProductDTO setImage(String image) {
        this.image = image;
        return this;
    }

    public String getDescribe() {
        return describe;
    }

    public AddDiscountProductDTO setDescribe(String describe) {
        this.describe = describe;
        return this;
    }

    public String getUseInformation() {
        return useInformation;
    }

    public AddDiscountProductDTO setUseInformation(String useInformation) {
        this.useInformation = useInformation;
        return this;
    }

    @NonNull
    public Integer getShelfLifeStrategy() {
        return shelfLifeStrategy;
    }

    public AddDiscountProductDTO setShelfLifeStrategy(@NonNull Integer shelfLifeStrategy) {
        this.shelfLifeStrategy = shelfLifeStrategy;
        return this;
    }

    public String getShelfLifeDescribe() {
        return shelfLifeDescribe;
    }

    public AddDiscountProductDTO setShelfLifeDescribe(String shelfLifeDescribe) {
        this.shelfLifeDescribe = shelfLifeDescribe;
        return this;
    }

    public Date getFixedEndShelfLife() {
        return fixedEndShelfLife;
    }

    public AddDiscountProductDTO setFixedEndShelfLife(Date fixedEndShelfLife) {
        this.fixedEndShelfLife = fixedEndShelfLife;
        return this;
    }

    public Integer getDynamicShelfLifeType() {
        return dynamicShelfLifeType;
    }

    public AddDiscountProductDTO setDynamicShelfLifeType(Integer dynamicShelfLifeType) {
        this.dynamicShelfLifeType = dynamicShelfLifeType;
        return this;
    }

    public Integer getDynamicShelfLifeValue() {
        return dynamicShelfLifeValue;
    }

    public AddDiscountProductDTO setDynamicShelfLifeValue(Integer dynamicShelfLifeValue) {
        this.dynamicShelfLifeValue = dynamicShelfLifeValue;
        return this;
    }

    @Override
    public String toString() {
        return "AddDiscountProductDTO{" +
                "brandId=" + brandId +
                ", regionType=" + regionType +
                ", discountMode=" + discountMode +
                ", serviceType=" + serviceType +
                ", serviceDataId='" + serviceDataId + '\'' +
                ", name='" + name + '\'' +
                ", subTitle='" + subTitle + '\'' +
                ", image='" + image + '\'' +
                ", describe='" + describe + '\'' +
                ", useInformation='" + useInformation + '\'' +
                ", shelfLifeStrategy=" + shelfLifeStrategy +
                ", shelfLifeDescribe='" + shelfLifeDescribe + '\'' +
                ", fixedEndShelfLife=" + fixedEndShelfLife +
                ", dynamicShelfLifeType=" + dynamicShelfLifeType +
                ", dynamicShelfLifeValue=" + dynamicShelfLifeValue +
                '}';
    }
}
